home *** CD-ROM | disk | FTP | other *** search
/ comtecelectrical.ca / www.comtecelectrical.ca.tar / www.comtecelectrical.ca / infobots / Backup / MSOCache / All Users / 90000409-6000-11D3-8CFE-0150048383C9 / YA561403.CAB / OWCDPL10.CHM_1033 / html / tfplug.js < prev   
Text File  |  2001-01-24  |  5KB  |  201 lines

  1. // Pluggable UI Terms
  2. // Terry - May 2000
  3. // Copyright (c) Microsoft Corportation - All rights reserved
  4.  
  5. // Main function
  6. function plugUITerms()
  7. {
  8.     if ( msieversion() < 5 )    // only support IE 5.0 and higher
  9.         return;
  10.  
  11.     var findParentMarker;
  12.     findParentMarker = findItem("INPUT", "plugUILang");
  13.  
  14.     if (findParentMarker > 0)
  15.     {
  16.         if (document.location.href.search(parent.document.all.tags("INPUT")(findParentMarker-1).value) != -1)
  17.             doPlug(parent.plugFrame);
  18.     }
  19.     else
  20.     {
  21.         var msoLang;
  22.         msoLang = new ActiveXObject("MsoLang.LanguageResources");
  23.         var uiLang;
  24.         uiLang = msoLang.UILanguage;
  25.  
  26.         // indicate that the parent was visited
  27.         var oNewNode;
  28.         oNewNode = parent.document.createElement("INPUT");
  29.         parent.document.body.insertBefore(oNewNode);
  30.         oNewNode.outerHTML = "<INPUT style=display:none id=\"plugUILang\" value=" + uiLang.toString() + "></INPUT>";
  31.  
  32.         var href = document.location.href;
  33.  
  34.         if (uiLang != -1 && href.search(uiLang.toString()) == -1)
  35.             parent.loadPlugFrame(uiLang.toString())
  36.     }
  37.  
  38. }
  39.  
  40. // Find if a given ID value can be found for a corresponding tag name
  41. // returns: 0 if not found, or index+1 for the found item
  42. function findItem(itemTag, itemID)
  43. {
  44.     var findItemNum = 0;    // assume it wont be found
  45.     var numItems = parent.document.all.tags(itemTag).length;
  46.  
  47.     for (i = 0; i < numItems; i++)
  48.     {
  49.         var chkItem = parent.document.all.tags(itemTag)(i);
  50.         if (chkItem.id == itemID)
  51.             findItemNum = i+1;
  52.     }
  53.     return findItemNum;
  54. }
  55.  
  56. function loadPlugFrame(systemLocale)
  57. {
  58.     var href = parent.document.location.href;
  59.     href.toLowerCase();
  60.     var pos = href.search("/Office10/");
  61.  
  62.     if (pos == -1)
  63.     {
  64.         pos = href.search("\\\\Office10\\\\");
  65.     }
  66.  
  67.     if (pos == -1)
  68.     {
  69.         //alert("Error: Help is not installed in the Office10 folder: " + href);
  70.         returnVal = 1;
  71.     }
  72.     else
  73.     {
  74.         // Now build up a string to the system help langauge
  75.         pos = pos + "/Office10/".length;
  76.         var systemHelpPath = href.substr(0, pos) + systemLocale;
  77.         systemHelpPath = systemHelpPath + href.substr(systemHelpPath.length, href.length - (systemHelpPath.length));
  78.  
  79.         var plugFrame;
  80.         plugFrame = parent.plugFrame;
  81.  
  82.         var findFrame
  83.         findFrame = findItem("IFRAME", "plugFrame");
  84.         if (findFrame == 0)
  85.         {
  86.             var oNewNode = parent.document.createElement("FRAME");
  87.             parent.document.body.insertBefore(oNewNode);
  88.             oNewNode.outerHTML = "<IFRAME id=plugFrame style=width:0;height:0; FRAMEBORDER=0 SCROLLING=no src=" + systemHelpPath + " ></IFRAME>";
  89.         }
  90.  
  91.     }
  92.  
  93. }
  94.  
  95.  
  96. // function to swap bold tags from one document into <span id=plug> of this document
  97. function doPlug(plugFrame)
  98. {
  99.     var d,szmeasure;
  100.     d = new Date();
  101.     szmeasure = d.toGMTString();
  102.     window.status = szmeasure;
  103.  
  104.     var TitleText;
  105.  
  106.     window.offscreenBuffering = "true";
  107.  
  108.     var doc;
  109.     doc = plugFrame.parent.document;
  110.  
  111.     var numToImages;
  112.     numToImages = doc.all.tags("IMG").length;
  113.     numFromImages = plugFrame.document.all.tags("IMG").length
  114.     for (i = 0; i < numToImages; i++)
  115.     {
  116.         var copyToImage = doc.all.tags("IMG")(i);
  117.         if (i < numFromImages)
  118.             {
  119.             copyFromImage = plugFrame.document.all.tags("IMG")(i)
  120.             copyToImage.src = copyFromImage.src
  121.             }
  122.     }
  123.     
  124.  
  125.  
  126.     // save the terms
  127.  
  128.     var srcUITerms = plugFrame.document.all.tags("B")
  129.     var numNames = srcUITerms.length
  130.     var nameArray = new Array(numNames)
  131.     var termArray = new Array(numNames)
  132.     for (i = 0; i < numNames; i++)
  133.     {
  134.         if (srcUITerms(i).className == "UI")
  135.             {
  136.             nameArray[i] = srcUITerms(i).name;
  137.             termArray[i] = srcUITerms(i).innerText;
  138.             //termArray[i] = "Swapped Term " + i;
  139.             }
  140.         else
  141.             {
  142.             nameArray[i] = "";
  143.             }
  144.     }
  145.     
  146.  
  147.     var numPlugs, numBolds;
  148.  
  149.     var tgtUITerms = doc.all.tags("B")    
  150.     numPlugs = tgtUITerms.length;
  151.     //numBolds = plugFrame.document.all.tags("B").length;
  152.  
  153.     var met = new Date();
  154.     szmeasure += met.toGMTString();
  155.     window.status = szmeasure;
  156.  
  157.     var i, copyTo, j;
  158.     for (i=0; i < numPlugs; i++)
  159.     {
  160.         copyTo = tgtUITerms(i);
  161.  
  162.         if (copyTo.className == "UI")
  163.         {
  164.             TitleText = copyTo.innerText;
  165.  
  166.             for (j = 0; j< numNames; j++)
  167.             {    
  168.                 if (nameArray[j] == copyTo.name)
  169.                 {
  170.                     copyTo.innerText = termArray[j];
  171.                     copyTo.title = TitleText;
  172.                     break;
  173.                 }
  174.             }
  175.         }
  176.     }
  177.  
  178.     window.offscreenBuffering = "auto";
  179.  
  180.     var et = new Date();
  181.     szmeasure += et.toGMTString();
  182.  
  183.  
  184.     window.status = szmeasure;
  185.     
  186. }
  187.  
  188. // determine IE version
  189. function msieversion()
  190.    {
  191.       var ua = window.navigator.userAgent
  192.       var msie = ua.indexOf ( "MSIE " )
  193.  
  194.       if ( msie > 0 )      // If Internet Explorer, return version number
  195.          return parseInt (ua.substring (msie+5, ua.indexOf (".", msie )))
  196.       else                 // If another browser, return 0
  197.          return 0
  198.  
  199.    }
  200.    
  201.